/*
-----------------------------------------------------------------------------
Filename:    SceneImporter.h
-----------------------------------------------------------------------------

*/
#ifndef __SceneImporter_h_
#define __SceneImporter_h_

#include "BaseEngine.h";
#include "Map.h";
#include "logwriter.h";
#include "PhysXWorld.h";
#include "WeatherSystem.h";
#include "AppSettings.h";
#include "SaveFileDescription.h";
#include <vector>;


class SceneImporter
{

public:

    SceneImporter(void);
    ~SceneImporter(void);

	void importSceneDBFromXml(Ogre::String fileName);

	void importSaveDataFromXmlFile(Ogre::String fileName);
	void importSaveDataFromXmlString(Ogre::String dataString);

	void importScene(PredefinedCameraDescriptions *mPredefinedCameraDescriptions, Ogre::SceneManager *mSceneMgr, Map *mMap, WeatherSystem *mWeatherSystem);
	void importActors(Critter::RenderSystem *mRenderSystem, Ogre::SceneManager *mSceneMgr, NxOgre::Scene *mScene, PhysXWorld *mPhysXWorld);


	std::vector<SaveFileDescription*> saveFiles;

private:
	void clearSaveFiles(void);

private:
	bool loadOkay;
	int nCurrentSeq;
	TiXmlDocument sourceFile;


};

#endif // #ifndef __SceneImporter_h_
